1. Field of the Invention
The present invention relates to a technique for performing processing, which corresponds to a user's gesture in three-dimensional space.
2. Description of the Related Art
Conventionally, coordinate input apparatuses that employ various methods have been proposed and put into production. Among them, touch panels are widely used, as they only require a user's finger touch on a display screen and require no special device. A positional detection method employed by this type of apparatus includes a resistive film method, an electrostatic capacity method, an ultrasonic wave method utilizing surface acoustic waves, an optical method, and the like. In a resistive film method, for instance, a change in a resistance value is measured when a finger or the like depresses a plurality of sheets where transparent electrodes are planted, and the depressed position is calculated. Since position calculation is performed by measuring the physical change caused by depression, in other words, a contact with the sheet, it is possible to not only calculate the position, but also determine with high precision whether or not the finger or the like is contacting the sheet. Similarly, an electrostatic capacity method and a surface acoustic wave method, which perform position calculation by measuring changes in the physical state of a sheet, are capable of detecting a contact with high precision. Furthermore, an input apparatus capable of detecting a plurality of pointer positions has also become known, as disclosed by Japanese Patent Laid-Open No. 2005-100391.
Meanwhile, a three-dimensional position detecting apparatus capable of detecting a position in space is also known. There is a so-called stereo camera, which can detect an object's three-dimensional shape or an object's position by viewing a common visual field area from a plurality of directions using a plurality of cameras. Further known is a range image sensor having cells in a matrix form for capturing a two-dimensional image, and radiating infrared ray for timing the infrared light reflected by an object in units of cell. Since this apparatus can calculate a distance to a reflection object in units of cell, it can detect an object's three-dimensional shape or an object's position.
With the use of an apparatus of this type, which can detect an object's three-dimensional shape or an object's position, it is possible to detect palm movement or motion, e.g., flipping of a palm, in three-dimensional space. By detecting such motion, it is possible to, for instance, move or rotate an object displayed on a display apparatus. In other words, based on an output result of an apparatus of this type, it is possible to control a PC. Hereinafter, an operation in three-dimensional space will be referred to as a “three-dimensional spatial gesture.” Moreover, detecting a three-dimensional spatial gesture and executing processing corresponding to the gesture will be referred to as a “three-dimensional spatial gesture function.”
For instance, Japanese Patent No. 3997392 discloses image input means which detects human motions, separation means which separates physical motions into a plurality of motion parts, and motion information output means which outputs motion information for each of the motion parts. The document teaches that, by analyzing each of the motion information outputs, it is possible to perform display control using three-dimensional spatial gesture.
Furthermore, Japanese Patent No. 4221330 discloses a user interface for three-dimensionally pointing a target object. More specifically, spatially-divided virtual boxes are arranged in advance by weighting, and based on images which are detected continuously in terms of time, a box designated by a user can be specified.
However, in an apparatus capable of detecting an object's three-dimensional shape or an object's position, the shape detection or position detection includes an error. A problem to be solved in terms of this error is now described with reference to FIGS. 7A and 7B.
In FIG. 7A, assume that a XY plane is a display surface of a display apparatus. Also assume that a three-dimensional coordinate detecting apparatus can detect a position in a spatial coordinate system defined by X, Y and Z axes.
Assume that operator α touches (selects) displayed Object-A by an operation in the three-dimensional space. Because of the aforementioned measurement error, the three-dimensional coordinate detecting apparatus cannot accurately determine whether or not operator α has touched Object-A on the display surface. In other words, despite the operation performed near Object-A on the display surface, the detecting apparatus is unable to precisely determine whether or not the operator's motion is contact.
Meanwhile, the operator judges that he/she has actually selected the displayed object at the moment his/her fingertip touches the display surface. This can be confirmed by the feel of the operator's fingertip. It is never the moment the fingertip nears the displayed object. If the operator's fingertip nears the displayed object and the detecting apparatus erroneously judges that it was touched, then, an operation contrary to the operator's intention, in other words, an erroneous operation is performed. This considerably deteriorates operability.
Similarly, FIG. 7A shows motions in the case where operator β selects Object-B. It is also difficult to accurately determine whether or not operator β has touched Object-B. FIG. 7B shows the motion seen from the Z-axis. Both operators α and β pass above Object-A and Object-B. Therefore, if the touch determination includes an error, erroneous detection, such as, selection of Object-A by operator β, may occur contrary to the operator's intention.